The demo is supplied with the minimum possible to give you a taste of what Fantasm 5 can do, in a real environment.
As you know it:-
> quits after 20 minutes
> limited in how much code can be produced.
> has no customer support
> does not contain any documentation except the master index which shows you what
documentation comes with the registered version (Available from Anvil's Help menu).
(More documentation is available from our WWW pages)
> can't create or edit projects
Why is Fantasm 5 good?
The main design aim with Fantasm is to facilitate easy creation of assembly language programs on the Macintosh. We have found that producing assembly language code with standard development tools on the Macintosh somewhat difficult and complex. Four years ago we decided to produce an easier to use and more helpful environment for people wishing to create code in assembly language for the Macintosh. We've listened to what people wanted in a Mac assembler, we've received a lot of feedback from users of previous versions and now we've producing what we think is about the best (and most powerful) assembler in the world.
Assembly language is no more difficult than any other language. What it does give you is complete control over the machine and maximum speed. Compiled code is fine most of the time, but when you really need to squeeze every last drop of performance out of the processor, you can't beat assembly language!
A lot of the mechanics of creating a program are taken care of by Fantasm. For example, you generally don't need to know anything about a PowerPC fragments Table Of Contents, whereas with other assemblers you need to be intimately involved.
Here is a sample PowerFantasm fragment (in PPC assembly language) that makes a Mac go "Beep".
li r3,0 *parameter for SysBeep - r3 is one of 32 general purpose registers
*"li" is a mnemonic for Load Immediate
Xcall SysBeep *Do it - call SysBeep
Fantasm provides all the features you would expect (and then some). It's project manager (Anvil) accepts plug in tools for maximum versatility. It can handle multiple open projects, embedded projects and merged targets. It doesn't need or use file extensions and is pretty language agnostic and thus extensible.
A dependencies database in each project keeps track of which files should be assembled, and when an included source file is changed, what other files it affects. Just as it should be.
The linker can use static library files, allowing you to make up your own library of functions, and to use our standard supplied libraries. Only the function code you USE is included. No need to worry about redundant routines being included. (as is the case with text included source code libraries). This makes Fantasm highly efficient.
It also supports use of the PowerPC environments' Dynamically Linked Libraries. Shared libraries can be created to accelerate your C and Pascal projects. All global code symbols can be exported for display in your low level debugger - Macsbug is recommended.
The assemblers have many, many features built in such as nested macro command handling (for defining your own instructions and replacing longer code sections with a new command that you define), repeat loops, register equate statements, conditional assembly, a5 global directives, assembly tracing, source and binary include statements, optimisations, etc.
Fantasm 5 adds to these features with string manipulation (26 in-built string variables) and local label handling, amongst many other functions. Useful internal variables such as the current build number can be accessed. The PowerPC assembler emulates a PowerPC processor to spot pipeline stalls and dependencies in your source code making it easy to produce highly optimized code.
Fantasm is suitable for:- complete beginners, those that want to write Mac programs as quickly and cheaply as possible, developers using high level languages, but need some machine code for the "fast bits", application writers who want no second best in the design of their programs etc.
It can produce full applications. Fantasm 5 is itself proof of this being 100% written with itself. It handles VERY large projects, as easily as very small ones. Example of a large game written with Fantasm can be found at Dadgum Games - Bumbler - http://www.dadgum.com/
Thanks to it's very flexible output stage, Fantasm 5 can create Mac stand alone applications, code resources for control panels, extensions, code for inclusion in C and Pascal projects (you don't have to copy the code, Fantasm can merge it's output), shared libraries etc.
It comes with lots of examples (ranging from simple "hello world" to complex game examples) and a suite of manuals.
At the heart is an integral "Build" manager which controls the other tools to produce your application/code in the fastest possible time whilst generating extensive and educational error messages when things don't quite work out as you planned.
The core of Fantasm exists as an open tools architecture - this gives Fantasm 5 a further advantage in that tools are abstracted away from the host OS leading to further stability. Plus, new tools just plug in and anybody can write their own tools.ハ
We can't begin to describe the facilities available in such a short document. We would suggest you go to our web pages where you can download both the Fantasm and Anvil user manuals - these will give you a good idea of what you can do.
In short, we think Fantasm 5 is the most powerful assembler in the world. And it's only available for Macintosh.
Of course, it doesn't stop here! Development is on-going. Please feel free to tell us what you want.